
/**
 * @properties={typeid:24,uuid:"40B6C6B4-16E0-4E0D-BB04-09ABEE0DD270"}
 */
function guardar() {
	if (!tipo_habitacion_id || !fecha)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor, ingrese todos los campos obligatorios','OK')
		return 
	}
	if (valida() == false)
	{
		globals.DIALOGS.showErrorDialog('Aviso','Ya existe una disponibilidad para esa fecha y habitacion','OK')
		return 
	}
	if (!databaseManager.saveData())
	{
		globals.DIALOGS.showWarningDialog('Aviso','Ocurrio un error al grabar. Inténtelo nuevamente', 'OK')
		salir()
	}
	else
	{
		salir()
	}
}

/**
 * @properties={typeid:24,uuid:"CB5E344F-04B5-4946-874A-02DB595FAA5B"}
 */
function valida()
{
	var $sql = 'SELECT disponibilidad_id FROM disponibilidad WHERE fecha = ? AND tipo_habitacion_id = ?'
	var $args = [fecha, tipo_habitacion_id]
	var $ds = databaseManager.getDataSetByQuery('hoteleria',$sql,$args,-1)
	if ($ds.getMaxRowIndex() == 0)
		return true
	return false
}

/**
 * @properties={typeid:24,uuid:"EB7DB979-4734-43C0-AB0D-BE3CB28AC154"}
 */
function cancelar() {
	salir()
}

/**
 * @properties={typeid:24,uuid:"09F7C2FD-68D5-4C3C-B134-E373CB1F2AA9"}
 */
function salir()
{
	var $win = application.getWindow('ALTA_DISPONIBILIDAD')
	$win.hide()
	$win.destroy()
}

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} firstShow form is shown first time after load
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"A258667A-6A5D-49B5-A088-5B573D74FC2E"}
 */
function onShow(firstShow, event) {
	databaseManager.setAutoSave(false)
	controller.newRecord()
	
	var $vl = application.getValueListItems('tipos_cliente')
	var $cant = $vl.getMaxRowIndex()
	for (var i = 1 ; i <= $cant ; i++)
	{
		disponibilidad_to_disponibilidad_detalle.newRecord()
		disponibilidad_to_disponibilidad_detalle.tipo_cliente_id = $vl.getValue(i,2)
		disponibilidad_to_disponibilidad_detalle.cantidad = 0
	}
}

/**
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"E20445A9-7213-46AF-BDD9-B57315365D7E"}
 */
function onHide() {
	databaseManager.revertEditedRecords()
	databaseManager.setAutoSave(true)
	return true
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"1E76E7E7-16F9-4115-8F43-530F82390C96"}
 */
function calendario(event) {
	var $hoy = application.getServerTimeStamp()
	var $fDesde = new Date($hoy.getFullYear(), $hoy.getMonth(),$hoy.getDate(), 0,0,0,0)
	var $fHasta = new Date($hoy.getFullYear() +1, $hoy.getMonth(),$hoy.getDate(), 0,0,0,0)
	var $form = globals.mostrarCalendarioMes($hoy.getMonth()+1, $hoy.getFullYear(), $fDesde, $fHasta, 'POPUP',null,'hoteleria_azul')
	plugins.window.showFormPopup(elements.fld_fecha,forms[$form],foundset.getRecord(foundset.getSelectedIndex()),'fecha')
}
